Learning Machine Learning

My ongoing journey for learning Artificial Intelligence / Machine Learning using PyTorch and NumPy.


Technologies


Why PyTorch and NumPy?

Implementing in first PyTroch allows someone to understand at a basic level how a model works, making implementing it in NumPy easier due to having a structured path for implementation.


What have I done?

To start I implemented an estimation of sin(x) using SGD1 and a simple Neural Network in PyTroch. Then after understanding the code and overall overview of how my approximation of sin(x) achieved in PyTroch I implemented the same model purely in NumPy. After solving sin(x) I moved onto MNIST2, which I completed in PyTroch.


Future plans for this project?

I am planning to complete MNIST2 in NumPy and then move on to CIFAR-103, Object classification4 in stream, LLM's5, and autoregressive models6.


Repository: Github


  1. Stochastic gradient descent.
    w:=wηf(x) 

  2. The MNIST database of handwritten digits has a training set of 60,000 examples and a test set of 10,000 examples. 

  3. The CIFAR-10 dataset consists of 60000 32x32 colour images in 10 classes, with 6000 images per class. There are 50000 training images and 10000 test images. 

  4. Object detection is the task of identifying an object in an image. 

  5. Large Language Models. 

  6. I am referencing OpenAI's autoregressive model based image generation.